﻿package com.esm.dao;


import java.util.List;


import com.esm.model.User;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * 
 * @author 王文成
 *
 */


import net.sf.json.JSONArray;


public interface UserDao {

	/* * 查找用户根据户名和密码
	 * @param uname		用户名
	 * @param upsw		密码
	 * @return		用户对象	
	 */
	public User findUser(String uname,String upsw);




	
	/**
	 * 根据用户ID查找用户个人信息
	 * @param uid 用户ID
	 * @return 用户的json对象
	 */
	public JSONObject searchUserInfo(int uid);
	
	/**
	 * 修改个人信息
	 * @param uname 修改后的姓名
	 * @param usex 修改后的性别
	 * @param uage 修改后的年龄
	 * @param utelphone 修改后的联系电话
	 * @param uidcard 修好后的员工编号
	 * @param uid 要修改的员工ID
	 * @return 是否修改成功(布尔值)
	 */
	public boolean updateSelfInfo(String uname,String usex,String uage,String utelphone,String uidcard,int uid);
	
	/**
	 * 获取当前角色拥有的用户名
	 * @param rname 角色名称
	 * @return 用户名组成的json数组
	 */
	public JSONArray getDefaultName(String rname);


	/**
	 * 查询公司所有员工的基本信息
	 * @return	用户对象集
	 * @author 魏长均
	 */
	public JSONArray findAllEmployees(int rid,int start,int pageSize);
	/**
	 * 查询公司所有员工的基本信息
	 * @return	用户对象集
	 * @author 魏长均
	 */
	public List<User> findAllEmployeesMessage(int rid,int start,int pageSize);
	
	/**
	 * 查询部门所有员工的基本信息根据部门的名称
	 * @param udeptname		部门的名称
	 * @return	员工对象结果接
	 * @author 魏长均
	 */
	public List<User> findDeptEmployeesMessage(int rid,int dep_id,int start,int pageSize);
	/**
	 * 查询部门所有员工的基本信息根据部门的名称
	 * @param udeptname		部门的名称
	 * @return	员工对象结果接
	 * @author 魏长均
	 */
	public JSONArray findDeptEmployees(int rid,int dep_id,int start,int pageSize);
	
	/**
	 * 查询全体员工总数根据角色id号
	 * @param rid	员工角色id
	 * @return	员工总数
	 * @author 魏长均
	 */
	public int findEmpolyeesCount(int rid);
	/**
	 * 查询部门员工总数根据部门i号
	 * @param rid	员工角色id
	 * @param dep_id	部门id
	 * @return	员工总数
	 * @author 魏长均
	 */
	public int findDeptEmpolyeesCount(int rid, int dep_id);
	
	/**
	 * 新增员工信息根据指定对象
	 * @param addUser		新增用户对象
	 * @return	布尔值
	 * @author 魏长均
	 */
	public boolean insertEmployee(User addUser);
	
	/**
	 * 修改员工信息根据指定对象和uid
	 * @param updateUser	修改用户对象
	 * @return	布尔值
	 * @author 魏长均
	 */
	public boolean updateEmployee(int uid,User updateUser);
	
	/**
	 * 删除员工信息根据uid
	 * @return	布尔值
	 * @author 魏长均
	 */
	public boolean deleteEmployee(int uid);
	
	/**
	 * 根据部门名称查询部门id号
	 * @param dname 部门名称
	 * @return	部门id号
	 * @author 魏长均
	 */
	public int findDidByDname(String dname);
	
	/**
	 * 查询部门下面全体员工的名字
	 * @param rid		员工角色id
	 * @param dep_id	部门id号
	 * @return	员工对象结果集
	 * @author 魏长均
	 */
	public JSONArray findDempName(int rid,int dep_id);
	
	/**
	 * 获取员工信息根据uid
	 * @param uid	员工uid
	 * @return	员工对象
	 * @author 魏长均
	 */
	public User findDempByUid(int uid);
	

}
